<template>
	<!-- 心动我的  我心动的item -->
	<view class="index-cplistitem">
		<view class="index-cplistitem-left" :class="(showBtn && itemType == 0) ? 'hide' : ''">
			<image :src="item.homePage.cover" mode=""></image>
		</view>
		<view class="index-cplistitem-main" :class="(showBtn && itemType == 0) ? 'hide' : ''">
			<view class="index-cplistitem-main-top u-flex">
				<view class="index-cplistitem-main-top-left">
					{{ item.userInfo.nickname }}
				</view>
				<view class="index-cplistitem-main-top-right">
					<image :src="item.information.sex == 0 ? 'https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/girl.png' : 'https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/boy.png'" mode=""></image>
				</view>
			</view>
			<view class="index-cplistitem-main-down">
				{{ item.information.year }}年 · {{ item.information.height }}cm · {{ item.educationName }} · {{ item.information.career }} · {{ item.information.now_home }}
			</view>
		</view>
		<view class="index-cplistitem-right">
			<view v-if="showBtn && itemType == 1" class="index-cplistitem-right-like">
				<image @click="heartFun()" src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/index/CP/like.png" style="width: 80rpx;height: 80rpx;display: block;" mode="">
				</image>
			</view>
			<view class="btns" v-if="showBtn && itemType == 0">
				<image class="btns-img" src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/btn/64 × 28.png" mode=""></image>
				<view class="btns-con" @click="UnlockFun()">
					解锁
				</view>
			</view>
			<view class="btns" v-if="showBtn && itemType == 2">
				<image class="btns-img" src="https://zaiyiqi-1322608024.cos.ap-nanjing.myqcloud.com/static/img/btn/64 × 28.png" mode=""></image>
				<view class="btns-con" @click="openChat()">
					聊天
				</view>
			</view>
		</view>
		<UnlockHeartbeatPopup v-if="UnlockHeartShow" @close="close"></UnlockHeartbeatPopup>
	</view>
</template>

<script>
import UnlockHeartbeatPopup from '../UnlockHeartbeatPopup/index.vue'
//这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
export default {
	// 组件名称
	name: 'demo',
	// 组件参数 接收来自父组件的数据
	props: {
		itemType: {
			type: Number,
			default: 0 // 0 需要解锁 1心动
		},
		showBtn: {
			type: Boolean,
			default: false
		},
		item: {
			type: Object,
			default: () => {
				return {}
			}
		}
	},
	// 局部注册的组件,import引入的组件需要注入到对象中才能使用
	components: {
		UnlockHeartbeatPopup
	},
	// 组件状态值
	data() {
		return {
			UnlockHeartShow: false
		}
	},
	// 计算属性
	computed: {},
	// 侦听器
	watch: {},
	// 组件方法
	methods: {
		// 解锁心动
		UnlockFun() {
			this.UnlockHeartShow = true
		},
		// 关闭弹窗
		close() {
			this.UnlockHeartShow = false
		},
		// 互相心动跳转聊天
		openChat() {
			uni.navigateTo({
				url: '/pages/message/chat'
			})
		},
		// 心动（成为好友）
		heartFun(){
			this.$http('cp.heart', {
				token: uni.getStorageSync('token'),
				id: this.item.userInfo.id
			}).then(res => {
				if (res.code == 200) {
					uni.showToast({
						title: '心动成功',
						icon: 'none'
					})
				} else {
					uni.showToast({
						title: res.msg,
						icon: 'none'
					})
				}
			})
		}
	},
	// 以下是生命周期钩子   注：没用到的钩子请自行删除
	/**
	 * 在实例初始化之后，组件属性计算之前，如data属性等
	 */
	beforeCreate() { },
	/**
	 * 组件实例创建完成，属性已绑定，但DOM还未生成，$ el属性还不存在
	 */
	created() { },
	/**
	 * 在挂载开始之前被调用：相关的 render 函数首次被调用。
	 */
	beforeMount() { },
	/**
	 * el 被新创建的 vm.$ el 替换，并挂载到实例上去之后调用该钩子。
	 * 如果 root 实例挂载了一个文档内元素，当 mounted 被调用时 vm.$ el 也在文档内。
	 */
	mounted() { },
	/**
	 * 数据更新时调用，发生在虚拟 DOM 重新渲染和打补丁之前。
	 * 你可以在这个钩子中进一步地更改状态，这不会触发附加的重渲染过程。
	 */
	beforeUpdate() { },
	/**
	 * 由于数据更改导致的虚拟 DOM 重新渲染和打补丁，在这之后会调用该钩子。
	 * 当这个钩子被调用时，组件 DOM 已经更新，所以你现在可以执行依赖于 DOM 的操作。
	 */
	updated() { },
	/**
	 * keep-alive 组件激活时调用。 仅针对keep-alive 组件有效
	 */
	activated() { },
	/**
	 * keep-alive 组件停用时调用。 仅针对keep-alive 组件有效
	 */
	deactivated() { },
	/**
	 * 实例销毁之前调用。在这一步，实例仍然完全可用。
	 */
	beforeDestroy() { },
	/**
	 * Vue 实例销毁后调用。调用后，Vue 实例指示的所有东西都会解绑定，
	 * 所有的事件监听器会被移除，所有的子实例也会被销毁。
	 */
	destroyed() { }
}
</script>

<!-- Add "scoped" attribute to limit CSS to this component only -->
<!--使用了scoped属性之后，父组件的style样式将不会渗透到子组件中，-->
<!--然而子组件的根节点元素会同时被设置了scoped的父css样式和设置了scoped的子css样式影响，-->
<style scoped lang="scss">
.index-cplistitem {
	height: 144rpx;
	border-bottom: 1rpx solid #F5F5F5FF;
	display: flex;
	align-items: center;

	.hide {
		filter: blur(4px);
	}

	&-left {
		width: 80rpx;
		margin-right: 16rpx;

		image {
			width: 80rpx;
			height: 80rpx;
			border-radius: 50%;
			display: block;
		}
	}

	&-main {
		flex: 1;

		&-top {
			font-size: 28rpx;
			font-family: PingFang SC-Bold, PingFang SC;
			font-weight: 400;
			color: #2E3033;
			margin-bottom: 8rpx;
			display: flex;
			align-items: center;

			&-right {
				image {
					width: 36rpx;
					height: 28rpx;
					margin-left: 8rpx;
					display: block;
				}
			}
		}

		&-down {
			font-size: 24rpx;
			font-family: PingFang SC-Medium, PingFang SC;
			font-weight: 400;
			color: #737980;
		}
	}

	&-right {
		// width: 128rpx;
		text-align: right;

		&-lock {
			width: 128rpx;
			height: 56rpx;
			line-height: 56rpx;
		}
	}

	.btns {
		width: 128rpx;
		height: 56rpx;
		position: relative;

		&-img {
			width: 100%;
			height: 100%;
		}

		&-con {
			width: 100%;
			height: 100%;
			position: absolute;
			top: 0;
			left: 0;
			font-size: 24rpx;
			font-family: PingFang SC, PingFang SC;
			font-weight: 400;
			color: #FAFCFF;
			line-height: 56rpx;
			text-align: center;
		}
	}
}
</style>
